package co.edu.usbcali.modeloo;

import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * Costos entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "costos", catalog = "estimacionpreliminar")
public class Costos implements java.io.Serializable {

	// Fields

	private Integer idcostos;
	private String nombre;
	private Integer salario;
	private Integer totalcostos;
	private Integer renta;
	private Integer serviciospublicos;
	private Integer otros;
	private Set<CostosPorProyecto> costosPorProyectos = new HashSet<CostosPorProyecto>(
			0);

	// Constructors

	/** default constructor */
	public Costos() {
	}

	/** minimal constructor */
	public Costos(Integer idcostos) {
		this.idcostos = idcostos;
	}

	/** full constructor */
	public Costos(Integer idcostos, String nombre, Integer salario,
			Integer totalcostos, Integer renta, Integer serviciospublicos,
			Integer otros, Set<CostosPorProyecto> costosPorProyectos) {
		this.idcostos = idcostos;
		this.nombre = nombre;
		this.salario = salario;
		this.totalcostos = totalcostos;
		this.renta = renta;
		this.serviciospublicos = serviciospublicos;
		this.otros = otros;
		this.costosPorProyectos = costosPorProyectos;
	}

	// Property accessors
	@Id
	@Column(name = "IDCOSTOS", unique = true, nullable = false)
	public Integer getIdcostos() {
		return this.idcostos;
	}

	public void setIdcostos(Integer idcostos) {
		this.idcostos = idcostos;
	}

	@Column(name = "NOMBRE", length = 1)
	public String getNombre() {
		return this.nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	@Column(name = "SALARIO")
	public Integer getSalario() {
		return this.salario;
	}

	public void setSalario(Integer salario) {
		this.salario = salario;
	}

	@Column(name = "TOTALCOSTOS")
	public Integer getTotalcostos() {
		return this.totalcostos;
	}

	public void setTotalcostos(Integer totalcostos) {
		this.totalcostos = totalcostos;
	}

	@Column(name = "RENTA")
	public Integer getRenta() {
		return this.renta;
	}

	public void setRenta(Integer renta) {
		this.renta = renta;
	}

	@Column(name = "SERVICIOSPUBLICOS")
	public Integer getServiciospublicos() {
		return this.serviciospublicos;
	}

	public void setServiciospublicos(Integer serviciospublicos) {
		this.serviciospublicos = serviciospublicos;
	}

	@Column(name = "OTROS")
	public Integer getOtros() {
		return this.otros;
	}

	public void setOtros(Integer otros) {
		this.otros = otros;
	}

	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "costos")
	public Set<CostosPorProyecto> getCostosPorProyectos() {
		return this.costosPorProyectos;
	}

	public void setCostosPorProyectos(Set<CostosPorProyecto> costosPorProyectos) {
		this.costosPorProyectos = costosPorProyectos;
	}

}